/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package entidades;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author Pablo
 */
@Entity
@Table(name = "propuestaeditores")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Propuestaeditores.findAll", query = "SELECT p FROM Propuestaeditores p")})
public class Propuestaeditores implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    //@NotNull
    @Column(name = "id_propuesta_editor")
    private Integer idPropuestaEditor;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fecha")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fecha;
    @Column(name = "lider")
    private Boolean lider;
    @JoinColumn(name = "nick", referencedColumnName = "nick")
    @ManyToOne(optional = false, fetch = FetchType.EAGER)
    private Usuario nick;
    @JoinColumn(name = "id_propuesta", referencedColumnName = "id_propuesta")
    @ManyToOne(optional = false, fetch = FetchType.EAGER)
    private Propuesta idPropuesta;

    public Propuestaeditores() {
    }

    public Propuestaeditores(Integer idPropuestaEditor) {
        this.idPropuestaEditor = idPropuestaEditor;
    }

    public Propuestaeditores(Integer idPropuestaEditor, Date fecha) {
        this.idPropuestaEditor = idPropuestaEditor;
        this.fecha = fecha;
    }

    public Integer getIdPropuestaEditor() {
        return idPropuestaEditor;
    }

    public void setIdPropuestaEditor(Integer idPropuestaEditor) {
        this.idPropuestaEditor = idPropuestaEditor;
    }

    public Date getFecha() {
        return fecha;
    }

    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }

    public Boolean getLider() {
        return lider;
    }

    public void setLider(Boolean lider) {
        this.lider = lider;
    }

    public Usuario getNick() {
        return nick;
    }

    public void setNick(Usuario nick) {
        this.nick = nick;
    }

    public Propuesta getIdPropuesta() {
        return idPropuesta;
    }

    public void setIdPropuesta(Propuesta idPropuesta) {
        this.idPropuesta = idPropuesta;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idPropuestaEditor != null ? idPropuestaEditor.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Propuestaeditores)) {
            return false;
        }
        Propuestaeditores other = (Propuestaeditores) object;
        if ((this.idPropuestaEditor == null && other.idPropuestaEditor != null) || (this.idPropuestaEditor != null && !this.idPropuestaEditor.equals(other.idPropuestaEditor))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "entidades.Propuestaeditores[ idPropuestaEditor=" + idPropuestaEditor + " ]";
    }
    
}
